#ifndef PERSONNAGE_H
#define PERSONNAGE_H
#include <SFML/Graphics.hpp>
#include "Animated.hpp"
#include "Anim.hpp"
#include "Generalites.h"


class Keyboard_Manager;
class Personnage
{
    public:
        Personnage(const std::string &fname, sf::Color couleur, sf::Vector2f pos, int speed);
        virtual ~Personnage();
        Animated GetAnimation() {return m_animation ;}
        void Update(float ElapsedTime);
        void Walk(int direction) {m_direction = direction; Walking = true;}
        void Stand(){Walking = false;}
        int IsHitting() {return Hitting ;}
        bool IsWalking() { return Walking;}



    protected: //on met protected pour que seulement les classes filles puissent accéder aux attributs
    // classe fille? les classe font des enfant? :snake: je peut voir? xd donc sa c'est la classe mere des fille?
    //c'est pas comme l'héritage?
    int m_speed,m_vie,m_attaque,m_defense;
    sf::Vector2f m_startPos, pos;
    sf::Image m_image;
    Animated m_animation;

    Anim     m_Bas, m_Haut, m_Gauche, m_Droite, m_Mort,
             m_TapeG,m_TapeD, m_TapeH, m_TapeB;
    // putain classe cette facon de présenté :bave:
    int m_direction;
    bool Walking,Mort;
    int Hitting;
};

#endif // PERSONNAGE_H
